1. Field
The present embodiments relate to techniques for executing applications on computer systems. More specifically, the present embodiments relate to a method and system for executing installer-free applications using native code modules.
2. Related Art
Computer systems may include a number of native applications that require significant processing resources to execute. Such applications may perform tasks such as image processing, audio and video decoding and mixing, mathematical modeling, and/or simulation. To run efficiently, these applications are often written in a combination of general-purpose programming languages, such as C or C++, and low-level languages, such as assembly language. Consequently, the applications may be restricted to specific platforms, may involve a lengthy installation process, and may pose a security risk to the computer systems on which the applications are installed.
On the other hand, web applications, which have become more prevalent in recent years, are typically written in scripting languages that are more secure and require no installation. However, web applications may lack the performance capabilities of native applications. In particular, a web application may run one or two orders of magnitude more slowly than a native application. Furthermore, web applications are often unable to operate without sending and receiving data with one or more servers through a network connection with the servers. As a result, web applications are currently unable to implement computationally intensive functions that are available in native applications and may also lack the ability to execute independently of a network connection.